home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / System Software (8-bit) / Disk Images / ProDOS Users Disk / STARTUP.bas < prev    next >
Encoding:
BASIC Source File  |  1983-10-15  |  16.0 KB  |  390 lines

  1. 100 D$ =  CHR$(4): DIM INSLOT$(7)
  2. 110 FALSE = 0:TRUE = 1:APPLEIIE = FALSE:L$ = "LANGUAGE CARD":U$ = "USED"
  3. 120  PRINT  CHR$(21)
  4. 130  GOSUB 1860
  5. 140  ONERR  GOTO 2520
  6. 150  GOTO 2510
  7. 160  ONERR  GOTO 2520
  8. 170 BL$ = "                                      "
  9. 180 S1$ = "***************************************"
  10. 190 S2$ = "*                                     *"
  11. 200 MO$ = "???JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
  12. 210  HOME 
  13. 220  PRINT S1$: PRINT S2$
  14. 230  PRINT "*     SYSTEM DATE AND TIME UTILITY    *"
  15. 240  PRINT S2$: PRINT S1$
  16. 250  VTAB 10
  17. 260  REM   
  18. 270  REM   - READ SYSTEM DATE
  19. 280  REM   
  20. 290 DD =  PEEK(49040) - INT( PEEK(49040)/32) *32
  21. 300 YY =  INT( PEEK(49041)/2)
  22. 310 MM = ( PEEK(49041) -YY *2) *8 + INT( PEEK(49040)/32)
  23. 320 MM$ =  MID$ (MO$,MM *3 +1,3)
  24. 330  REM   
  25. 340  REM   - READ SYSTEM TIME
  26. 350  REM   
  27. 360 MI =  PEEK(49042)
  28. 370 HH =  PEEK(49043)
  29. 380  REM   
  30. 390  REM   - CONVERT 24 HOURS TO 12
  31. 400  REM   
  32. 410  IF HH >11  THEN PM = 1
  33. 420  IF HH >12  THEN HH = HH -12
  34. 430  IF HH = 0  THEN HH = 12
  35. 440  PRINT "       THE CURRENT SETTINGS ARE:"
  36. 450  PRINT : PRINT 
  37. 460  REM    
  38. 470  REM   - PRINT DATE AND TIME  
  39. 480  REM   
  40. 490  PRINT "             DATE: ";
  41. 500  IF DD = 0  THEN  PRINT "<NO DATE>": GOTO 560
  42. 510  IF DD <10  THEN  PRINT "0";
  43. 520  PRINT DD;"-";
  44. 530  PRINT MM$;"-";
  45. 540  IF YY <10  THEN  PRINT "0";
  46. 550  PRINT YY
  47. 560  PRINT 
  48. 570  PRINT "             TIME: ";
  49. 580  IF HH = 12  AND MI = 0  AND DD = 0  THEN  PRINT "<NO TIME>": GOTO 650
  50. 590  IF HH <10  THEN  PRINT "0";
  51. 600  PRINT HH;":";
  52. 610  IF MI <10  THEN  PRINT "0";
  53. 620  PRINT MI;
  54. 630  IF PM = 1  THEN  PRINT "  PM"
  55. 640  IF PM = 0  THEN  PRINT "  AM"
  56. 650  VTAB 18
  57. 660  PRINT "    UPDATE SYSTEM DATE AND TIME? Y/N ";
  58. 670  GET A$
  59. 680  VTAB 18: HTAB 2: PRINT BL$
  60. 690  IF A$ = "N"  OR A$ = "n"  THEN  GOSUB 2390: GOTO 1610
  61. 700  VTAB 12: PRINT 
  62. 710  PRINT "       ENTER DATE: DD-MMM-YY";
  63. 720  REM   
  64. 730  REM    -READ DAY INTO DD
  65. 740  REM   
  66. 750  HTAB 20: PRINT "DD";: HTAB 20
  67. 760  GET A$: IF (A$ <"0")  OR (A$ >"3") GOTO 750
  68. 770 DD =  VAL(A$): PRINT A$;
  69. 780  GET A$: IF (A$ <"0")  OR (A$ >"9") GOTO 750
  70. 790 DD = DD *10 + VAL(A$): PRINT A$;
  71. 800  IF DD >31  OR DD <1 GOTO 750
  72. 810  REM  
  73. 820  REM    GET MONTH INTO M1$
  74. 830  REM   
  75. 840  IF  ASC(A$) = 27  THEN 700
  76. 850  HTAB 23: PRINT "MMM";: HTAB 23:COUNT = 1:M1$ = ""
  77. 860  GET A$: IF  ASC(A$) >96  THEN A$ =  CHR$( ASC(A$) -32)
  78. 870 M1$ = M1$ +A$::MM = 4
  79. 880  IF M1$ =  MID$ (MO$,MM,COUNT)  THEN  GOTO 910
  80. 890 MM = MM +3: IF MM <39  THEN  GOTO 880
  81. 900  GOTO 840
  82. 910  PRINT A$;:COUNT = COUNT +1: IF COUNT <4  THEN  GOTO 860
  83. 920 MM = (MM -1)/3
  84. 930  REM   
  85. 940  REM   -READ YEAR INTO YY
  86. 950  REM   
  87. 960  IF  ASC(A$) = 27  THEN 700
  88. 970  HTAB 27: PRINT "YY";: HTAB 27
  89. 980  GET A$: IF (A$ <"0")  OR (A$ >"9") GOTO 960
  90. 990 YY =  VAL(A$): PRINT A$;
  91. 1000  GET A$: IF (A$ <"0")  OR (A$ >"9") GOTO 960
  92. 1010 YY = YY *10 + VAL(A$): PRINT A$
  93. 1020  REM   
  94. 1030  REM   -REPEAT UNTIL CORRECT
  95. 1040  REM   
  96. 1050  VTAB 18: PRINT "             CORRECT? Y/N ";
  97. 1060  GET A$
  98. 1070  VTAB 18: HTAB 2: PRINT BL$
  99. 1080  IF A$ = "N"  OR A$ = "n" GOTO 700
  100. 1090  VTAB 13: HTAB 8: PRINT "     "
  101. 1100  VTAB 15: HTAB 8: PRINT "ENTER TIME: HH:MM  AM";
  102. 1110  REM   
  103. 1120  REM   -READ HOUR INTO HH
  104. 1130  REM   
  105. 1140  HTAB 20: PRINT "HH";: HTAB 20
  106. 1150  GET A$: IF (A$ <"0")  OR (A$ >"1") GOTO 1140
  107. 1160 HH =  VAL(A$): PRINT A$;
  108. 1170  GET A$: IF (A$ <"0")  OR (A$ >"9") GOTO 1140
  109. 1180 HH = 10 *HH + VAL(A$): PRINT A$;
  110. 1190  IF HH >12  OR HH <1 GOTO 1140
  111. 1200  REM   
  112. 1210  REM   -READ MINUTE INTO MI
  113. 1220  REM   
  114. 1230  IF  ASC(A$) = 27  THEN 1100
  115. 1240  HTAB 23: PRINT "MM";: HTAB 23
  116. 1250  GET A$: IF (A$ <"0")  OR (A$ >"5") GOTO 1230
  117. 1260 MI =  VAL(A$): PRINT A$;
  118. 1270  GET A$: IF (A$ <"0")  OR (A$ >"9") GOTO 1230
  119. 1280 MI = 10 *MI + VAL(A$): PRINT A$;
  120. 1290  IF MI >59 GOTO 1230
  121. 1300  REM   
  122. 1310  REM   -GET AM OR PM
  123. 1320  REM   
  124. 1330  IF  ASC(A$) = 27  THEN 1100
  125. 1340  HTAB 27
  126. 1350  GET A$: IF (A$ < >"A")  AND (A$ < >"a")  AND (A$ < >"P")  AND (A$ < >"p")  AND (A$ < >" ")  AND (A$ < > CHR$(13)) GOTO 1330
  127. 1360  IF (A$ = "P")  OR (A$ = "p")  THEN  PRINT "P";
  128. 1370  REM   
  129. 1380  REM   -REPEAT UNTIL CORRECT
  130. 1390  REM   
  131. 1400  VTAB 18: HTAB 2: PRINT "            CORRECT? Y/N ";
  132. 1410  GET P$
  133. 1420  VTAB 18: HTAB 2: PRINT BL$
  134. 1430  IF (P$ < >"N")  AND (P$ < >"n") GOTO 1450
  135. 1440  GOTO 1090
  136. 1450  VTAB 15: HTAB 8: PRINT "     "
  137. 1460  REM   
  138. 1470  REM   -UPDATE SYSTEM DATE
  139. 1480  REM   
  140. 1490  POKE 49041,YY *2 +(MM >7)
  141. 1500  IF MM >7  THEN  POKE 49040,(MM -8) *32 +DD
  142. 1510  IF MM <8  THEN  POKE 49040,MM *32 +DD
  143. 1520  REM   
  144. 1530  REM   -UPDATE SYSTEM TIME (24 HOUR CLOCK)
  145. 1540  REM   
  146. 1550  IF HH = 12  THEN HH = 0
  147. 1560  IF A$ = "P"  OR A$ = "p"  THEN HH = HH +12
  148. 1570  POKE 49043,HH: POKE 49042,MI
  149. 1580  PRINT : VTAB 18: PRINT "      SYSTEM DATE AND TIME UPDATED": PRINT 
  150. 1590  PRINT "  (DOES NOT SET CLOCK/CALENDAR CARDS)"
  151. 1600  GOSUB 2390
  152. 1610  GOTO 2520
  153. 1620  ONERR  GOTO 2520
  154. 1630  REM    SLOTS 
  155. 1640  REM  
  156. 1650  REM   MARK ALL SLOTS AS UNUSED
  157. 1660  REM   MARK USED SLOTS AS USED
  158. 1670  REM  
  159. 1680 SLOTS =  PEEK(49049):V = 128
  160. 1690  FOR I = 7 TO 0  STEP  -1
  161. 1700 INSLOT$(I) = "EMPTY"
  162. 1710  IF SLOTS > = V  THEN INSLOT$(I) = U$:SLOTS = SLOTS -V
  163. 1720 V = V/2
  164. 1730  NEXT I
  165. 1740  REM  
  166. 1750  REM   FIND SILENTYPE AND THUNDERCLOCK
  167. 1760  REM  
  168. 1770  FOR SLOT = 1 TO 7
  169. 1780 SADDR =  -16384 +256 *SLOT
  170. 1790  IF  PEEK(SADDR +23) = 201  AND  PEEK(SADDR +55) = 207  AND  PEEK(SADDR +76) = 234  THEN INSLOT$(SLOT) = "SILENTYPE": GOTO 1850
  171. 1800  IF  PEEK(SADDR) = 8  AND  PEEK(SADDR +1) = 120  AND  PEEK(SADDR +2) = 40  THEN INSLOT$(SLOT) = "CLOCK": GOTO 1850
  172. 1810  IF  PEEK(SADDR +5) = 24  AND  PEEK(SADDR +7) = 56  THEN INSLOT$(SLOT) = "COMMUNICATIONS CARD": GOTO 1850
  173. 1820  IF  PEEK(SADDR +5) = 56  AND  PEEK(SADDR +7) = 24  THEN INSLOT$(SLOT) = "SERIAL CARD"
  174. 1830  IF  PEEK(SADDR +11) = 1  THEN  IF  INT( PEEK(SADDR +12)/16) <10  THEN INSLOT$(SLOT) = ID$( INT( PEEK(SADDR +12)/16)): GOTO 1850
  175. 1840  IF  PEEK(SADDR +5) = 72  AND  PEEK(SADDR +7) = 72  THEN INSLOT$(SLOT) = "PARALLEL CARD"
  176. 1850  NEXT SLOT: GOSUB 1860: GOTO 1950
  177. 1860  REM  
  178. 1870  REM   IDENTIFY MACHINE TYPE
  179. 1880  REM  
  180. 1890 MACHID =  PEEK(49048): HOME 
  181. 1900  IF MACHID > = 192  THEN  HTAB 15:TI$ = "APPLE ///":MACHID = MACHID -192: GOTO 1940
  182. 1910  IF MACHID > = 128  THEN  HTAB 15:TI$ = "Apple //e":MACHID = MACHID -128:APPLEIIE = TRUE: GOTO 1940
  183. 1920  IF MACHID > = 64  THEN  HTAB 14:TI$ = "APPLE ][ PLUS":MACHID = MACHID -64: GOTO 1940
  184. 1930  HTAB 16:TI$ = "APPLE ]["
  185. 1940  RETURN 
  186. 1950  GOSUB 2440
  187. 1960  REM  
  188. 1970  REM   GET NAME OF BOOT DISK
  189. 1980  REM   PREFIX RETURNS NAME OF LAST ACCESSED DISK
  190. 1990  REM  
  191. 2000  PRINT D$;"PREFIX"
  192. 2010  INPUT "";PREFIX$: PRINT "STARTUP DISK: ";PREFIX$
  193. 2020  REM  
  194. 2030  REM   DETERMINE MEMORY SIZE
  195. 2040  REM  
  196. 2050  PRINT : PRINT "YOUR ";TI$;" HAS:": PRINT : HTAB 5
  197. 2060  IF MACHID > = 48  THEN  PRINT "128K ";:MACHID = MACHID -48:INSLOT$(0) = L$: GOTO 2090
  198. 2070  IF MACHID > = 32  THEN  PRINT "64K ";:MACHID = MACHID -32:INSLOT$(0) = L$: GOTO 2090
  199. 2080  IF MACHID > = 16  THEN  PRINT "48K ";:MACHID = MACHID -16: GOTO 2090
  200. 2090  PRINT "OF RANDOM ACCESS MEMORY"
  201. 2100  PRINT : HTAB 5: IF  PEEK(57344) = 76  THEN  PRINT "APPLESOFT IN ROM": PRINT : GOTO 2120
  202. 2110  PRINT "INTEGER BASIC IN ROM": PRINT 
  203. 2120  REM  
  204. 2130  REM   FOR EACH DISK DEVICE
  205. 2140  REM   IDENTIFY DRIVE TYPE
  206. 2150  REM  
  207. 2160  FOR J = 48946 TO 48946 + PEEK(48945)
  208. 2170 DEVICE =  PEEK(J): IF DEVICE > = 128  THEN DEVICE = DEVICE -128
  209. 2180 SLOT = 7
  210. 2190  IF DEVICE > = 16 *SLOT  THEN DEVICE = DEVICE -(16 *SLOT): GOTO 2220
  211. 2200 SLOT = SLOT -1: IF SLOT >0 GOTO 2190
  212. 2210  GOTO 2250
  213. 2220  IF DEVICE = 4  THEN INSLOT$(SLOT) = "PROFILE"
  214. 2230  IF DEVICE = 0  THEN INSLOT$(SLOT) = "DISK DRIVE"
  215. 2240  IF DEVICE = 13  THEN INSLOT$(SLOT) = "UNIFILE/DUOFILE"
  216. 2250  NEXT J
  217. 2260  REM  
  218. 2270  REM   LOOK FOR 80-COLUMN CARD
  219. 2280  REM  
  220. 2290  IF MACHID > = 8  THEN MACHID = MACHID -8
  221. 2300  IF MACHID > = 4  THEN MACHID = MACHID -4
  222. 2310  IF MACHID > = 2  THEN INSLOT$(3) = "80-COLUMN CARD"
  223. 2320  REM  
  224. 2330  REM   PRINT SLOT ASSIGNMENTS
  225. 2340  REM  
  226. 2350  FOR I = APPLEIIE TO 7
  227. 2360  PRINT "    SLOT ";I;": ";INSLOT$(I): NEXT I
  228. 2370  GOSUB 2390
  229. 2380  GOTO 2520
  230. 2390  VTAB 23: PRINT " PRESS RETURN TO DISPLAY MAIN MENU ";: GET R$
  231. 2400  IF R$ > = " "  AND R$ < = "~"  THEN  PRINT R$;
  232. 2410  IF R$ < > CHR$(13)  THEN  PRINT  CHR$(7): GOTO 2390
  233. 2420  RETURN 
  234. 2430  PRINT " ": VTAB 22: GOTO 120
  235. 2440  HOME 
  236. 2450 S1$ = "**************************************"
  237. 2460 S2$ = "*                                    *"
  238. 2470  PRINT S1$: PRINT S2$
  239. 2480  PRINT "*     DISPLAY SLOT ASSIGNMENTS       *"
  240. 2490  PRINT S2$: PRINT S1$
  241. 2500  RETURN 
  242. 2510  PRINT  CHR$(4);"PREFIX": INPUT PR$
  243. 2520  ONERR  GOTO 2940
  244. 2530 D$ =  CHR$(4):IN = 6:UP = 11:C$ = " "
  245. 2540  GOSUB 2750
  246. 2550  VTAB 8: PRINT : PRINT "YOUR OPTIONS ARE:"
  247. 2560  HTAB IN: VTAB UP: PRINT "? - TUTOR: PRODOS EXPLANATION"
  248. 2570  HTAB IN: VTAB UP +2: PRINT "F - PRODOS FILER (UTILITIES)"
  249. 2580  HTAB IN: VTAB UP +4: PRINT "C - DOS <-> PRODOS CONVERSION"
  250. 2590  HTAB IN: VTAB UP +6: PRINT "S - DISPLAY SLOT ASSIGNMENTS"
  251. 2600  HTAB IN: VTAB UP +8: PRINT "T - DISPLAY/SET TIME"
  252. 2610  HTAB IN: VTAB UP +10: PRINT "B - APPLESOFT BASIC"
  253. 2620  VTAB 22: PRINT : PRINT "PLEASE SELECT ONE OF THE ABOVE         ";: HTAB 32: PRINT C$;: HTAB 32: GET P$
  254. 2630  IF P$ >" "  AND P$ < = "~"  THEN C$ = P$: PRINT C$;
  255. 2640  IF P$ = "F"  OR P$ = "f"  THEN  PRINT D$;"-FILER"
  256. 2650  IF P$ = "C"  OR P$ = "c"  THEN  PRINT D$;"-CONVERT"
  257. 2660  IF P$ = "S"  OR P$ = "s"  THEN  GOTO 1620
  258. 2670  IF P$ = "T"  OR P$ = "t"  THEN  GOTO 160
  259. 2680  IF P$ = "?"  THEN  GOSUB 3220: GOTO 2520
  260. 2690  IF P$ < >"B"  AND P$ < >"b"  THEN 2740
  261. 2700  POKE 216,0: HOME : PRINT "PRODOS 1.0       COPYRIGHT APPLE, 1983"
  262. 2710  VTAB 10: PRINT "        TO RETURN TO MENU, TYPE"
  263. 2720  PRINT : PRINT "             'RUN STARTUP'"
  264. 2730  PRINT : PRINT "           AND PRESS RETURN.": PRINT : VTAB 22: NEW : END 
  265. 2740  PRINT  CHR$(7);: GOTO 2620
  266. 2750  HOME 
  267. 2760 S1$ = "***************************************"
  268. 2770 S2$ = "*                                     *"
  269. 2780  PRINT S1$: PRINT S2$
  270. 2790  PRINT "*         PRODOS USER'S DISK          *"
  271. 2800  PRINT S2$
  272. 2810  PRINT "* COPYRIGHT APPLE COMPUTER, INC. 1983 *"
  273. 2820  PRINT S2$: PRINT S1$
  274. 2830 ID$(0) = "USED"
  275. 2840 ID$(1) = "PRINTER"
  276. 2850 ID$(2) = "JOYSTICK"
  277. 2860 ID$(3) = "I/O CARD"
  278. 2870 ID$(4) = "MODEM"
  279. 2880 ID$(5) = "AUDIO CARD"
  280. 2890 ID$(6) = "CLOCK"
  281. 2900 ID$(7) = "MASS STORAGE"
  282. 2910 ID$(8) = "80-COLUMN CARD"
  283. 2920 ID$(9) = "NETWORK CARD"
  284. 2930  RETURN 
  285. 2940  VTAB 19: HTAB 1: CALL  -958: FOR I = 1 TO 39: PRINT "-";: NEXT : PRINT 
  286. 2950  PRINT  CHR$(7);"FILE OR PATH NOT FOUND": PRINT "INSERT ";PR$;" WITH ";
  287. 2960  IF P$ = "F"  OR P$ = "f"  THEN  PRINT "FILER"
  288. 2970  IF P$ = "C"  OR P$ = "c"  THEN  PRINT "CONVERT"
  289. 2980  HTAB 1: VTAB 22
  290. 2990  PRINT : PRINT "PRESS RETURN TO TRY AGAIN,": PRINT "  OR ESC FOR THE MENU ";
  291. 3000  GET R$: IF R$ > = " "  AND R$ < = "~"  THEN  PRINT R$;
  292. 3010  IF  ASC(R$) = 27  THEN  VTAB 19: HTAB 1: CALL  -958: GOTO 2550
  293. 3020  IF R$ < > CHR$(13)  THEN  PRINT  CHR$(7);: GOTO 2980
  294. 3030  GOTO 2640
  295. 3040  VTAB 24:NA$ = "Press RETURN to continue, ESC to exit. ": GOSUB 3140
  296. 3050 KY =  PEEK( -16384): IF KY <128  THEN 3050
  297. 3060  POKE  -16368,0
  298. 3070  IF KY = 141  THEN  HOME : RETURN 
  299. 3080  IF KY = 155  THEN  POP : RETURN 
  300. 3090  PRINT  CHR$(7);: GOTO 3050
  301. 3100 KY =  PEEK( -16384): IF KY <128  THEN 3100
  302. 3110  POKE  -16368,0
  303. 3120  IF KY = 141  THEN  HOME : RETURN 
  304. 3130  PRINT  CHR$(7);: GOTO 3100
  305. 3140  REM   UPSHIFT IF NEEDED
  306. 3150  IF APPLEIIE = TRUE  THEN  PRINT NA$;: RETURN 
  307. 3160  FOR I = 1 TO  LEN(NA$):N$ =  MID$ (NA$,I,1)
  308. 3170  IF  ASC(N$) >123  OR  ASC(N$) <96  THEN 3190
  309. 3180 N$ =  CHR$( ASC(N$) -32)
  310. 3190  PRINT N$;
  311. 3200  NEXT 
  312. 3210  RETURN 
  313. 3220  HOME : REM     TUTOR STARTS HERE
  314. 3230  ONERR  GOTO 2520
  315. 3240 NA$ = "   Tutor: the ProDOS Operating System ": GOSUB 3140: PRINT 
  316. 3250 NA$ = " ": GOSUB 3140: PRINT 
  317. 3260 NA$ = "You are using ProDOS--the Professional ": GOSUB 3140: PRINT 
  318. 3270 NA$ = "Disk Operating System for the Apple II ": GOSUB 3140: PRINT 
  319. 3280 NA$ = "series of computers.  At your command, ": GOSUB 3140: PRINT 
  320. 3290 NA$ = "ProDOS copies programs, files, or whole": GOSUB 3140: PRINT 
  321. 3300 NA$ = "disks; tells you what files are on a ": GOSUB 3140: PRINT 
  322. 3310 NA$ = "disk; sends information to printers and": GOSUB 3140: PRINT 
  323. 3320 NA$ = "other devices; prepares disks for use; ": GOSUB 3140: PRINT 
  324. 3330 NA$ = "stores (writes) information on disks; ": GOSUB 3140: PRINT 
  325. 3340 NA$ = "and retrieves (reads) information from ": GOSUB 3140: PRINT 
  326. 3350 NA$ = "disks.  ": GOSUB 3140: PRINT 
  327. 3360 NA$ = " ": GOSUB 3140: PRINT 
  328. 3370 NA$ = "ProDOS features high-speed read and ": GOSUB 3140: PRINT 
  329. 3380 NA$ = "write operations and a multi-level file": GOSUB 3140: PRINT 
  330. 3390 NA$ = "structure.  It works with a variety of ": GOSUB 3140: PRINT 
  331. 3400 NA$ = "disk drives, including the ProFile.  ": GOSUB 3140: PRINT 
  332. 3410 NA$ = " ": GOSUB 3140: PRINT 
  333. 3420 NA$ = "Application programs, working together ": GOSUB 3140: PRINT 
  334. 3430 NA$ = "with ProDOS, let you write reports, use": GOSUB 3140: PRINT 
  335. 3440 NA$ = "data bases and electronic spreadsheets,": GOSUB 3140: PRINT 
  336. 3450 NA$ = "draw graphs, play games, and so on.  ": GOSUB 3140: PRINT 
  337. 3460  GOSUB 3040
  338. 3470 NA$ = "   Tutor:  the ProDOS Operating System ": GOSUB 3140: PRINT 
  339. 3480 NA$ = " ": GOSUB 3140: PRINT 
  340. 3490 NA$ = "An operating system disk is packed with": GOSUB 3140: PRINT 
  341. 3500 NA$ = "every Apple disk controller.  The BASIC": GOSUB 3140: PRINT 
  342. 3510 NA$ = "programming language and many ": GOSUB 3140: PRINT 
  343. 3520 NA$ = "application programs use operating ": GOSUB 3140: PRINT 
  344. 3530 NA$ = "system commands, and they require an ": GOSUB 3140: PRINT 
  345. 3540 NA$ = "operating system to format disks ": GOSUB 3140: PRINT 
  346. 3550 NA$ = "(prepare them for use).  ": GOSUB 3140: PRINT 
  347. 3560 NA$ = " ": GOSUB 3140: PRINT 
  348. 3570 NA$ = "Operating systems are not always ": GOSUB 3140: PRINT 
  349. 3580 NA$ = "compatible with one another.  Some ": GOSUB 3140: PRINT 
  350. 3590 NA$ = "programs require disks to be formatted ": GOSUB 3140: PRINT 
  351. 3600 NA$ = "and copied by an operating system other": GOSUB 3140: PRINT 
  352. 3610 NA$ = "than ProDOS.  In most cases, that other": GOSUB 3140: PRINT 
  353. 3620 NA$ = "operating system is on the program's ": GOSUB 3140: PRINT 
  354. 3630 NA$ = "startup disk.  If you have a program ": GOSUB 3140: PRINT 
  355. 3640 NA$ = "written for DOS 3.3 (another operating ": GOSUB 3140: PRINT 
  356. 3650 NA$ = "system for the Apple II series of ": GOSUB 3140: PRINT 
  357. 3660 NA$ = "computers), it will be on the disk with": GOSUB 3140: PRINT 
  358. 3670 NA$ = "the program, and will automatically be ": GOSUB 3140: PRINT 
  359. 3680 NA$ = "loaded when you start the program.  ": GOSUB 3140: PRINT 
  360. 3690  GOSUB 3040
  361. 3700 NA$ = "  Tutor:  the ProDOS Operating System ": GOSUB 3140: PRINT 
  362. 3710 NA$ = " ": GOSUB 3140: PRINT 
  363. 3720 NA$ = "If you tell your computer to read a ": GOSUB 3140: PRINT 
  364. 3730 NA$ = "disk that is incompatible with the ": GOSUB 3140: PRINT 
  365. 3740 NA$ = "operating system that is then in the ": GOSUB 3140: PRINT 
  366. 3750 NA$ = "computer, an error message (PATH NOT ": GOSUB 3140: PRINT 
  367. 3760 NA$ = "FOUND and I/O ERROR are two ": GOSUB 3140: PRINT 
  368. 3770 NA$ = "possibilities) indicates that the ": GOSUB 3140: PRINT 
  369. 3780 NA$ = "operating system doesn't recognize the": GOSUB 3140: PRINT 
  370. 3790 NA$ = "disk.  ": GOSUB 3140: PRINT 
  371. 3800 NA$ = " ": GOSUB 3140: PRINT 
  372. 3810 NA$ = "You can use the ProDOS Filer's Copy ": GOSUB 3140: PRINT 
  373. 3820 NA$ = "Volume command to copy entire disks ": GOSUB 3140: PRINT 
  374. 3830 NA$ = "(both ProDOS disks and DOS 3.3 disks).": GOSUB 3140: PRINT 
  375. 3840 NA$ = "For more information on the Filer, ": GOSUB 3140: PRINT 
  376. 3850 NA$ = "select option F from this disk's main ": GOSUB 3140: PRINT 
  377. 3860 NA$ = "menu, then type ? to select the tutor.": GOSUB 3140: PRINT 
  378. 3870  GOSUB 3040
  379. 3880 NA$ = "  Tutor:  the ProDOS Operating System ": GOSUB 3140: PRINT 
  380. 3890 NA$ = " ": GOSUB 3140: PRINT 
  381. 3900 NA$ = "Data and programs can be transferred ": GOSUB 3140: PRINT 
  382. 3910 NA$ = "from DOS 3.3 disks to ProDOS disks (and": GOSUB 3140: PRINT 
  383. 3920 NA$ = "vice versa).  For more information, ": GOSUB 3140: PRINT 
  384. 3930 NA$ = "select option C from this disk's main ": GOSUB 3140: PRINT 
  385. 3940 NA$ = "menu, then type ? to select the tutor.": GOSUB 3140: PRINT 
  386. 3950 NA$ = "For details, see the ProDOS User's ": GOSUB 3140: PRINT 
  387. 3960 NA$ = "Manual.  ": GOSUB 3140: PRINT 
  388. 3970  VTAB 24
  389. 3980 NA$ = "    Press RETURN to return to menu.": GOSUB 3140
  390. 3990  GOTO 3100